package br.com.medmark.bean;

import java.io.IOException;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;

import br.com.medmark.model.hibernate.Administrador;
import br.com.medmark.model.hibernate.Clinica;
import br.com.medmark.model.hibernate.Estado;
import br.com.medmark.model.hibernate.dao.UtilDAOImpl;
import br.medmark.servico.AdministradorServico;

@ManagedBean
public class BeanCadastroClinica implements Serializable{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 5375358905944150005L;
	private String nomeResponsavel;
	private String cpfResponsavel;
	private String nomeClinica;
	private String cnpjClinica;
	private String endereco;
	private String numero;
	private String complemento;
	private String bairro;
	private String cidade;
	private String login;
	private String senha;
	
	private String selectedEstado;   
    private List<String> estados;
    private String telefone1;
    private String telefone2;
    private String telefone3;
    private String email;
    private List<Estado> estadosBase;
    
    @PostConstruct
    public void init() {
    	
    	FacesContext facesContext = FacesContext.getCurrentInstance();
		HttpSession session = (HttpSession) facesContext.getExternalContext().getSession(true);
		
		Administrador adm = (Administrador) session.getAttribute("administrador");
		if (adm == null) {
			try {
				FacesContext.getCurrentInstance().getExternalContext().redirect("login/login.xhtml");
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}else{
	        estados = new ArrayList<String>();
	        estadosBase = UtilDAOImpl.getInstance().getEstados();
	        for (Estado estado : estadosBase) {
	        	estados.add(estado.getDescricao());
				
			}
		}
    }
    
    public void criaClinica() {
		
		AdministradorServico.getInstance().criaClinica(nomeResponsavel,cpfResponsavel,
				nomeClinica,cnpjClinica,endereco,
				numero,complemento,bairro,cidade,selectedEstado,telefone1,
				telefone2,telefone3,login,senha);
		
		
		limparDados();
		
	}
    
public void limparDados(){
    	
    	setNomeResponsavel(null);
    	setCpfResponsavel(null);
    	setNomeClinica(null);
    	setCnpjClinica(null);
    	setEndereco(null);
    	setNumero(null);
    	setBairro(null);
    	setCidade(null);
    	setComplemento(null);
    	setTelefone1(null);
    	setTelefone2(null);
    	setTelefone3(null);
    	setSelectedEstado(null);
    	setLogin(null);
    	setSenha(null);
    	
    }
 
    public String getSelectedEstado() {
        return selectedEstado;
    }
 
    public void setSelectedEstado(String selectedCities) {
        this.selectedEstado = selectedCities;
    }
 
    public List<String> getEstados() {
        return estados;
    }

	public String getTelefone1() {
		return telefone1;
	}

	public void setTelefone1(String telefone1) {
		this.telefone1 = telefone1;
	}

	public String getTelefone2() {
		return telefone2;
	}

	public void setTelefone2(String telefone2) {
		this.telefone2 = telefone2;
	}

	public String getTelefone3() {
		return telefone3;
	}

	public void setTelefone3(String telefone3) {
		this.telefone3 = telefone3;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getNomeResponsavel() {
		return nomeResponsavel;
	}

	public void setNomeResponsavel(String nomeResponsavel) {
		this.nomeResponsavel = nomeResponsavel;
	}

	public String getCpfResponsavel() {
		return cpfResponsavel;
	}

	public void setCpfResponsavel(String cpfResponsavel) {
		this.cpfResponsavel = cpfResponsavel;
	}

	public String getNomeClinica() {
		return nomeClinica;
	}

	public void setNomeClinica(String nomeClinica) {
		this.nomeClinica = nomeClinica;
	}

	public String getCnpjClinica() {
		return cnpjClinica;
	}

	public void setCnpjClinica(String cnpjClinica) {
		this.cnpjClinica = cnpjClinica;
	}

	public String getEndereco() {
		return endereco;
	}

	public void setEndereco(String endereco) {
		this.endereco = endereco;
	}

	public String getNumero() {
		return numero;
	}

	public void setNumero(String numero) {
		this.numero = numero;
	}

	public String getComplemento() {
		return complemento;
	}

	public void setComplemento(String complemento) {
		this.complemento = complemento;
	}

	public String getBairro() {
		return bairro;
	}

	public void setBairro(String bairro) {
		this.bairro = bairro;
	}

	public String getCidade() {
		return cidade;
	}

	public void setCidade(String cidade) {
		this.cidade = cidade;
	}

	public String getLogin() {
		return login;
	}

	public void setLogin(String login) {
		this.login = login;
	}

	public String getSenha() {
		return senha;
	}

	public void setSenha(String senha) {
		this.senha = senha;
	}

	public void setEstados(List<String> estados) {
		this.estados = estados;
	}
	
	
	
    
    

}
